package com.yonyou.state.core.order.impl;

import com.alibaba.fastjson.JSON;
import com.yonyou.state.core.AbstractSOProcessor;
import com.yonyou.state.core.annotation.SOProcessor;
import org.springframework.stereotype.Component;

/**
 * @author lidwt
 * @date 2021/10/31 14:59
 **/
@Component
@SOProcessor
public class CompleteSOProcessor extends AbstractSOProcessor {

    public CompleteSOProcessor() {
        super.setStatus(7);
    }

    public boolean check(String soId, Object... params) {
        // TODO 改变工单状态前的校验等
        String jsonOutput= JSON.toJSONString(params);
        System.out.println("进入工单完工前置检查..."+jsonOutput);
        return true;
    }

    /**
     * 状态流转后方法
     * @param soId 工单id
     * @param params 当前工单参数
     */
    @Override
    public boolean process(String soId, Object... params) {
        // TODO 创建/取消工单对应的数据库修改，mq发送等操作，可以在此处process方法中完成
        String jsonOutput= JSON.toJSONString(params);
        System.out.println("进入工单完工后处理器..."+jsonOutput);
        return true;
    }
}
